import Vue from 'vue'
import App from './App.vue'
// 引入路由
import router from '@/router'
// 引入仓库
import store from '@/store'

// 三级联动--全局
import TypeNav from '@/components/TypeNav.vue'
import Pagination from '@/components/pagination.vue'

Vue.component(TypeNav.name,TypeNav)
Vue.component(Pagination.name, Pagination)

import { Button, Row, Col, MessageBox,Message,Input} from 'element-ui';
//element-ui大多数组件，注册为全局组件Vue.component|Vue.use
Vue.use(Button);
Vue.use(Row);
Vue.use(Col);
Vue.use(Input)
//按需引入写法不同的:MessageBox、Message、Loading、Notification
Vue.prototype.$msgbox = MessageBox;
//消息提示框
Vue.prototype.$alert = MessageBox.alert;

Vue.prototype.$message = Message;

//引入mockServe文件,模拟接口
import "@/mock/mockServe.js";
// 引入swiper样式
import 'swiper/css/swiper.css'

// 统一引入接口api文件夹里面的所有请求函数
import * as API from '@/api'
// console.log(API)
// import  * as http from '@/api';

// 图片懒加载
// 3. 引入默认图片
import xtz from '@/assets/images/01.gif'
// 1. 引入插件
import VueLazyload from 'vue-lazyload'
// 2. 注册插件
Vue.use(VueLazyload),{
  // 默认图片
  loading: xtz,
}


new Vue({
  render: h => h(App),
  // 全局事件总线
  beforeCreate(){
    Vue.prototype.$bus = this
    // console.log(this)
    Vue.prototype.$API = API
    //通过Vue.prototype原型对象,将全部请求函数挂载到原型对象身上[VC:就可以使用请求函数]
    // Vue.prototype.$http = http
    

  },
  // 注册路由
  router,
  // 注册仓库
  store
}).$mount('#app')
